package com.example.tool.bean.business.wdt;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
/**
 * 物流信息实体类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("tb_logistics_trajectory")
public class LogisticsTrajectoryDO {
    @TableId("id")
    private Long id;

    @TableField( "logistics_type")
    private String logisticsType; // 订单编号（旺店通系统订单号）

    @TableField( "trade_no")
    private String tradeNo; // 订单编号（旺店通系统订单号）

    @TableField( "stockout_no")
    private String stockoutNo; // 出库单号（系统产生的出库单号）

    @TableField( "logistics_no")
    private String logisticsNo; // 物流单号

    @TableField( "last_update_time")
    private Date lastUpdateTime; // 最后更新时间

    @TableField( "consign_time")
    private Date consignTime; // 发货时间

    @TableField( "sign_time")
    private Date signTime; // 签收时间
    // 订单创建时间
    @TableField( "trade_created_time")
    private String tradeCreatedTime;
    //流程详情
    @TableField( "latest_progress")
    private String latestProgress;
    //流程详情
    @TableField( "progress_info")
    private String progressInfo;
    @TableField( "create_time")
    private Date createTime; // 记录创建时间

    @TableField( "if_deleted")
    private Integer ifDeleted; // 是否被删除 1 删除  0 未删除
    @TableField( "if_monitor")
    private Boolean ifMonitor; // 是否被删除 1 删除  0 未删除

//    public enum ProgressStatus {
//        NOT_COLLECTED("NOT_COLLECTED", "未收集"),
//        COLLECTION("COLLECTION", "揽收"),
//        SENDER("SENDER", "发件"),
//        RECEIVED("RECEIVED", "到件"),
//        DELIVERY("DELIVERY", "派件"),
//        ARRIVAL("ARRIVAL", "代收"),
//        TRANSFER_ORDER("TRANSFER_ORDER", "转单"),
//        GIVEBACK("GIVEBACK", "退回"),
//        SIGNED("SIGNED", "签收");
//
//        private String code;
//        private String desc;
//
//        ProgressStatus(String code, String desc) {
//            this.code = code;
//            this.desc = desc;
//        }
//
//        // getter方法
//    }
//
//    @Column( "latest_progress", length = 255)
//    @Enumerated(EnumType.STRING)
//    private ProgressStatus latestProgress = ProgressStatus.NOT_COLLECTED; // 当前状态
//
//    @Column( "progress_info", length = 5000)
//    private String progressInfo; // 流程详情
//
//    // 以下是枚举值的getter方法，方便获取中文描述
//    public String getLatestProgressDesc() {
//        return latestProgress != null ? latestProgress.getDesc() : null;
//    }
}
